#define _CRT_SECURE_NO_WARNINGS 1
#include <iostream>
#include <vector>
#include <string>
using namespace std;

//class Person {
//public :
//	Person() {
//		cout << "Person()" << endl;
//	}
//	Person(const Person& p) {
//		cout << "Person(const Person& p)" << endl;
//	}
//
//	void print() {
//		cout << _name << endl;
//	}
//	~Person() {
//		cout << "~Person()" << endl;
//	}
//
//	string _name = "Mr_Lin";
//	string _sex = "man";
//	int _age = 120;
//};
//class Student : public Person {
//public :
//	Student()
//		:Person()
//	{
//		cout << "Student()" << endl;
//	}
//	Student(const Student& s)
//		:Person(s)
//	{
//		cout << "Student(const Student& s)" << endl;
//	}
//	void print() {
//		cout << _name << endl;
//	}
//	~Student() {
//		Person::~Person();
//		cout << "~Student()" << endl;
//	}
//
//	string _name = "Mr_Pig";
//	string _id;
//};

class O {
public :
	int _o;
};

class A : virtual public O {
public :
	int _a;
};

class B : virtual public O {
public :
	int _b;
};

class C : public A, public B {
public :
	int _c;
};


int main() {
	C c1;
	c1._o = 1;
	cout << c1._o << endl;

	return 0;
}